package cn.source.system.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import cn.source.common.annotation.Excel;
import cn.source.common.core.domain.BaseEntity;
/**
 * 预约管理对象 t_bill
 *
 * @author gygl
 * @date 2023-08-01
 */
@Data
public class Bill extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** 订单id */
    @Excel(name = "订单id")
    private String billId;
    /** 房间号 */
    @Excel(name = "房间号")
    private Long roomNo;
    /** 用户id */
    @Excel(name = "用户Id")
    private String userId;
    /** 用户名 **/
    @Excel(name="用户名")
    private String name;
    /** 预定时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预定时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date billTime;
    /** 入住时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入住时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkInTime;
    /** 退房时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退房时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkOutTime;
    /** 是否需要审核（0需要 1不需要） */
    @Excel(name = "是否需要审核", readConverterExp = "0=需要,1=不需要")
    private String audit;
    /** 订单状态（0不通过 1预约 2入住 3退房 4撤销） */
    @Excel(name = "订单状态", readConverterExp = "0=不通过,1=预约,2=入住,3=退房,4=撤销")
    private String billStatus;
    /** 校区id */
    @Excel(name = "校区id")
    private Long campusId;
    @Excel(name = "课表")
    private String schedule;
    @Excel(name = "审批表")
    private String approvalSlip;
    public void setName(String name){
        this.name=name;
    }
    public String getName(){
        return name;
    }
    public void setBillId(String billId)
    {
        this.billId = billId;
    }
    public String getBillId()
    {
        return billId;
    }
    public void setRoomNo(Long roomNo)
    {
        this.roomNo = roomNo;
    }
    public Long getRoomNo()
    {
        return roomNo;
    }
    public void setUserId(String userId)
    {
        this.userId = userId;
    }
    public String getUserId()
    {
        return userId;
    }
    public void setBillTime(Date billTime)
    {
        this.billTime = billTime;
    }
    public Date getBillTime()
    {
        return billTime;
    }
    public void setCheckInTime(Date checkInTime)
    {
        this.checkInTime = checkInTime;
    }
    public Date getCheckInTime()
    {
        return checkInTime;
    }
    public void setCheckOutTime(Date checkOutTime)
    {
        this.checkOutTime = checkOutTime;
    }
    public Date getCheckOutTime()
    {
        return checkOutTime;
    }
    public void setAudit(String audit)
    {
        this.audit = audit;
    }
    public String getAudit()
    {
        return audit;
    }
    public void setBillStatus(String billStatus)
    {
        this.billStatus = billStatus;
    }
    public String getBillStatus()
    {
        return billStatus;
    }
    public void setCampusId(Long campusId)
    {
        this.campusId = campusId;
    }
    public Long getCampusId()
    {
        return campusId;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("billId", getBillId())
            .append("roomNo", getRoomNo())
            .append("userId", getUserId())
            .append("billTime", getBillTime())
            .append("checkInTime", getCheckInTime())
            .append("checkOutTime", getCheckOutTime())
            .append("audit", getAudit())
            .append("billStatus", getBillStatus())
            .append("campusId", getCampusId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("name",getName())
            .toString();
    }
}
